A. Field of the Invention
The present invention is directed to the field of VoIP telephony and specifically to the efficient development and implementation of enhanced VoIP features in telephony systems.
B. Background
Voice over Internet Protocol (VoIP) generally refers to the technology used today to provide both traditional and enhanced telephony features using a local or wide area network. There are currently competing protocols for communicating via VoIP. Some of the most relevant ones are: Session Initiation Protocol (SIP), Media Gateway Control Protocol (MGCP) and H.323. Not only are there multiple protocols, but the protocols themselves are changing and evolving. Even if one protocol becomes dominant and a de facto standard, it is expected that the embedded base of products using one of the other protocols will be sufficiently significant to require their being supported for some time.
Most commercial VoIP systems and providers and indeed all traditional telecommunications providers include some core telephony features such as call forwarding, call waiting, call transfer and call hold. Were it limited to these features, VoIP would not be as compelling for customers. One of the main attractions for using VoIP is the ability to use enhanced telephony applications and features such as voice mail, conference bridge, multi-ring, unified messaging, auto attendant, receptionist console, automatic call distribution, and system administration as well as the ability to develop custom applications.
For a company providing such features using VoIP, it is very important to be able to develop and implement them quickly and efficiently. The existence of multiple protocols and their dynamic nature as described above adds complexity to VoIP feature development and implementation. Some companies may offer an enhanced feature, but only to users whose equipment complies with a specific protocol. In these cases, the application developed to provide the feature is integrated and written to work with a specific IP protocol, such as SIP. If, later, the application needs to be revised or a new one needs to be added, the developer must write the application such that it can work with the specific IP protocol. Also, if the protocol itself changes over time, the application will likely need to be rewritten for the feature to work with the revised protocol. Indeed, all applications designed to work with a specific protocol would need to be revisited were the protocol to change. For customers using the same features but with equipment operating under different protocols, this requires the developer to know the different protocols.